<?php

    $submenu = array( 
        0 => array('nome' => 'Listagem', 'link' => 'falta/listarFaltas'),
        1 => array('nome' => 'Tipos', 'link' => 'falta/listarTiposFalta'),
    );

    class Falta extends CI_Controller{
        
        function index(){
             $this->estaLogado();
             $this->listarFaltas();
        }

        function estaLogado(){
             $id = $this->session->userdata('pessoa_id');
             if($id == null){
                 redirect('pessoa/login');
             }else{
                $this->temAvaliacoes($id);
            }
        }
        
        function temAvaliacoes($id){
            $this->load->model('pessoaModel');
            $aval = $this->pessoaModel->temAvaliacoes($id);
            $this->session->set_userdata('avaliacoes', $aval);
            return true;
        }
        
        function listarFaltas(){
            $this->estaLogado();
            $this->load->model('faltaModel');
            
            $dados['faltas'] = $this->faltaModel->getFaltas();
            $dados['submenu'] = $submenu = array( 
                    0 => array('nome' => 'Listagem', 'link' => 'falta/listarFaltas'),
                    1 => array('nome' => 'Tipos', 'link' => 'falta/listarTiposFalta'),
             );
            $this->load->view('falta/listarFaltas',$dados);
        }

        function listarFaltasMembro(){
             $this->load->model('faltaModel');
             $this->load->model('pessoaModel');
             $id = $this->uri->segment(3);

             $dados['membro'] = $this->pessoaModel->getMembro($id);
             $dados['faltas'] = $this->faltaModel->getFaltasMembro($id);
             
             $this->load->view('falta/listarFaltasMembro',$dados);
        }

        function adicionarFaltaMembro(){
            $this->load->model('faltaModel');
            $this->load->model('pessoaModel');
            $id = $this->uri->segment(3);
            
            if($id)
                $dados['membro'] = $this->pessoaModel->getMembro($id);
            else
                $dados['dropMembros'] = $this->pessoaModel->dropMembros();
            
            $dados['dropTipos'] = $this->faltaModel->dropFaltas();
            $this->load->view('falta/adicionarFaltaMembro', $dados);
        }

        function adicionandoFaltaMembro(){
            $this->load->model('faltaModel');

            $dados['descricao'] = $this->input->post('descricao');
            $dados['membro_id'] = $this->input->post('membro');
            $dados['data'] = $this->input->post('data');
            $dados['falta_id'] = $this->input->post('tipo');

            $this->faltaModel->adicionarFaltaMembro($dados);

            redirect('falta/listarFaltasMembro/'.$dados['membro_id']);
        }

        function editarFaltaMembro(){
            $this->load->model('faltaModel');
            $id = $this->uri->segment(3);

            $dados['dropTipos'] = $this->faltaModel->dropFaltas();
            $dados['falta'] = $this->faltaModel->getFaltaMembro($id);

            $this->load->view('falta/editarFaltaMembro', $dados);
        }

        function editandoFaltaMembro(){
            $this->load->model('faltaModel');

            $dados['id'] = $this->input->post('id');
            $dados['falta_id'] = $this->input->post('falta');
            $dados['membro_id'] = $this->input->post('membro');
            $dados['data'] = $this->input->post('data');
            $dados['descricao'] = $this->input->post('descricao');

            $this->faltaModel->editarFaltaMembro($dados);

            redirect('falta/listarFaltasMembro/'.$dados['membro_id']);
        }

        function excluirFaltaMembro(){
            $this->load->model('faltaModel');
            $id = $this->uri->segment(3);

            $this->faltaModel->excluirFaltaMembro($id);
            return true;
        }
        
        function listarTiposFalta(){
            $this->estaLogado();
            $this->load->model('faltaModel');
            
            $dados['tipos'] = $this->faltaModel->getTiposFalta();
            $dados['submenu'] = $submenu = array( 
                    0 => array('nome' => 'Listagem', 'link' => 'falta/listarFaltas'),
                    1 => array('nome' => 'Tipos', 'link' => 'falta/listarTiposFalta'),
             );
            $this->load->view('falta/listarTiposFalta', $dados);
        }
        
        function cadastrarTipoFalta(){
            $this->load->view('falta/cadastrarTipoFalta');
        }

        function cadastrandoTipoFalta(){
            $this->estaLogado();
            $this->load->model('faltaModel');

            $dados['falta'] = $this->input->post('tipo');
            $dados['pontuacao'] = $this->input->post('pontuacao');
            $this->faltaModel->cadastrarTipoFalta($dados);

            redirect('falta/listarTiposFalta');
        }

        function editarTipoFalta(){
            $this->load->model('faltaModel');
            $id = $this->uri->segment(3);

            $dados['tipo'] = $this->faltaModel->getTipoFalta($id);
            $this->load->view('falta/editarTipoFalta', $dados);
        }

        function editandoTipoFalta(){
            $this->estaLogado();
            $this->load->model('faltaModel');

            $dados['id'] = $this->input->post('id');
            $dados['falta'] = $this->input->post('tipo');
            $dados['pontuacao'] = $this->input->post('pontuacao');
            $this->faltaModel->editarTipoFalta($dados);

            redirect('falta/listarTiposFalta');
        }

        function excluirTipoFalta(){
            $this->estaLogado();
            $this->load->model('faltaModel');
            $id = $this->uri->segment(3);

            $this->faltaModel->excluirTipoFalta($id);
            return true;
        }
         }

?>
